package cn.klaw.flowable.model.util;

import lombok.Data;

/**
 * 在线工作流开发
 *
 *
 * @version V3.1.0
 *
 * @date 2019年9月27日 上午9:18
 */
@Data
public class FlowNature {

    /**
     * 子表数据标识
     */
    public static String SUB_TABLE = "@subTable";

    /**
     * 发起节点表单id
     */
    public static String StartNodeFormId = "@startNodeFormId";
    /**
     * 数据传递 全局参数
     */
    public static String GLOBAL_PARAMETER = "globalParameter";
    /**
     * 撤销流水号编码
     */
    public static String REVOKE_BILL_CODE = "workflow_revoke";
    /**
     * 撤销表单编码
     */
    public static String REVOKE_FORM_CODE = "revoke";

    /**
     * 会签计算方式，1.实时计算  2.延后计算
     */
    public static Integer CALCULATE_TYPE_DELAY = 2;

    /**
     * 结束编码、名称
     */
    public static String END_CODE = "end";
    public static String END_NAME = "结束";
    /**
     * 开始编码、名称
     */
    public static String START_CODE = "start";
    public static String START_NAME = "开始";

    /**
     * 表单字段后缀
     */
    public static String FORM_FIELD_SUFFIX = "_klawId";

    /**
     * 系统编码
     */
    public static String SYSTEM_CODE = "klaw";
    /**
     * 系统名称
     */
    public static String SYSTEM_NAME = "系统";
    /**
     * 系统头像
     */
    public static String SYSTEM_HEAD_ICON = "001.png";

    /**
     * 我发起的新建/编辑
     */
    public static String LaunchCreate = "-1";
    /**
     * 我发起的详情
     */
    public static String LaunchDetail = "0";
    /**
     * 待签事宜
     */
    public static String WaitSign = "1";
    /**
     * 待办事宜
     */
    public static String Todo = "2";
    /**
     * 在办事宜
     */
    public static String Doing = "3";
    /**
     * 已办事宜
     */
    public static String Done = "4";
    /**
     * 抄送事宜
     */
    public static String Circulate = "5";
    /**
     * 流程监控
     */
    public static String Monitor = "6";


    /**
     * 正常状态
     */
    public static Integer Normal = 0;
    /**
     * 作废状态（记录）
     */
    public static Integer Invalid = -1;

    /**
     * 流程标题
     */
    public static Integer TitleType = 0;

    /**
     * 百分比
     **/
    public static Integer Percent = 1;

    /**
     * 无
     **/
    public static Integer No = 0;

    /**
     * 人数
     **/
    public static Integer Number = 2;

    /**
     * 比率
     **/
    public static Integer Ratio = 100;

    /**
     * 比率
     **/
    public static Integer PermissionType = 1;

    /**
     * 发起权限
     **/
    public static Integer LaunchPermission = 1;


    //-------------------------------
    /**
     * 驳回开始
     **/
    public static String START = "0";

    /**
     * 驳回上一节点
     **/
    public static String UP = "1";

    /**
     * 自选节点
     **/
    public static String Reject = "2";

    /**
     * 候选人
     **/
    public static Integer Candidates = 1;

    /**
     * 异常人
     **/
    public static Integer CandidatesError = 2;

    /**
     * 选择分支
     **/
    public static Integer Branch = 3;

    /**
     * 重新审批
     **/
    public static Integer RestartType = 1;

    /**
     * 当前审批
     **/
    public static Integer PresentType = 2;

    /**
     * 待办事宜
     **/
    public static String WAIT = "1";

    /**
     * 已办事宜
     **/
    public static String TRIAL = "2";

    /**
     * 抄送事宜
     **/
    public static String CIRCULATE = "3";

    /**
     * 抄送事宜
     **/
    public static String BATCH = "4";

    /**
     * 流程父节点
     **/
    public static String ParentId = "0";

    /**
     * 加签人
     **/
    public static String RecordStatus = "0";

    /**
     * 审批开始
     **/
    public static String NodeStart = "start";

    /**
     * 审批结束
     **/
    public static String NodeEnd = "end";

    /**
     * 子流程
     **/
    public static String NodeSubFlow = "subFlow";

    /**
     * 结束节点
     **/
    public static String EndRound = "endround";

    /**
     * 或签
     **/
    public static Integer FixedApprover = 0;

    /**
     * 会签
     **/
    public static Integer FixedJointlyApprover = 1;

    /**
     * 依次
     **/
    public static Integer ImproperApprover = 2;

    /**
     * 通过
     **/
    public static Integer AuditCompletion = 1;

    /**
     * 拒绝
     **/
    public static Integer RejectCompletion = 0;

//    /**
//     * 进行
//     **/
//    public static Integer ProcessCompletion = 0;

    /**
     * 子流程同步
     **/
    public static Integer ChildSync = 0;

    /**
     * 子流程异步
     **/
    public static Integer ChildAsync = 1;

    /**
     * 完成情况
     */
    public static Integer Progress = 100;

    /**
     * 加签回流
     */
    public static Integer Reflux = 0;

    /**
     * 加签前
     */
    public static Integer Before = 1;
//
    /**
     * 加签后
     */
    public static Integer Later = 2;

    /**
     * 发起消息
     */
    public static Integer StartMsg = 0;

    /**
     * 审批消息
     */
    public static Integer ApproveMsg = 1;

    /**
     * 结束消息
     */
    public static Integer EndMsg = 2;

    /**
     * 复活取最后数据
     */
    public static Integer ResurgenceLast = 0;

    /**
     * 复活取当时数据
     */
    public static Integer ResurgenceThis = 1;

    /**
     * 事件失败流程继续
     */
    public static Integer FuncResume = 0;

    /**
     * 事件失败流程终止
     */
    public static Integer FuncTerminate = 1;

    /**
     * 发起撤回终止
     */
    public static Integer RevokeTerminate = 1;

    /**
     * 发起撤回提交
     */
    public static Integer RevokeSubmit = 2;


}
